package com.javafactroy.kunlong.data.entity;

import lombok.Data;
import com.javafactroy.kunlong.base.dto.TQueryParam;
import com.javafactroy.kunlong.client.feign.dto.PageInfoDto;
import javax.persistence.Column;
import javax.persistence.*;
import java.util.Date;
//import javax.persistence.Id;
import lombok.experimental.Accessors;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import com.alibaba.excel.annotation.write.style.ColumnWidth;

import io.swagger.annotations.ApiModelProperty;
/**
*  @author raymond.lei@163.com
*  @date   2023-12-04 15:06:33
*  @file   VDeptApiEntity.java
*  @company com.javafactroy.kunlong
*
*/
@Data
@Table(name="v_dept")
@ApiModel("VIEW")
@Accessors(chain = true)
@ExcelIgnoreUnannotated
@ColumnWidth(18)
public class VDeptApiEntity   extends PageInfoDto {
    private static final long serialVersionUID = 1L; //一会就说这个是做什么的

    public final static String pkeyField = "pkey";
    public final static String pkeyProp  = "pkey";
    @Data
    public static class VDeptQueryParam extends TQueryParam<VDeptApiEntity> {
        public VDeptQueryParam() {
            param = new VDeptApiEntity();
        }
    }

    public Boolean checkInsertFlag() {
        return deptId == null;
    }

    		// 部门id dataType:bigint
		@ApiModelProperty(name="部门id")
		@ExcelProperty("部门id")
		@Column(name="dept_id")
		protected Long  deptId;

		// 父部门id dataType:bigint
		@ApiModelProperty(name="父部门id")
		@ExcelProperty("父部门id")
		@Column(name="parent_id")
		protected Long  parentId;

		// 祖级列表 dataType:varchar
		@ApiModelProperty(name="祖级列表")
		@ExcelProperty("祖级列表")
		@Column(name="ancestors")
		protected String  ancestors;

		// 部门名称 dataType:varchar
		@ApiModelProperty(name="部门名称")
		@ExcelProperty("部门名称")
		@Column(name="dept_name")
		protected String  deptName;

		// 显示顺序 dataType:int
		@ApiModelProperty(name="显示顺序")
		@ExcelProperty("显示顺序")
		@Column(name="order_num")
		protected Integer  orderNum;

		// 负责人 dataType:varchar
		@ApiModelProperty(name="负责人")
		@ExcelProperty("负责人")
		@Column(name="leader")
		protected String  leader;

		// 联系电话 dataType:varchar
		@ApiModelProperty(name="联系电话")
		@ExcelProperty("联系电话")
		@Column(name="phone")
		protected String  phone;

		// 邮箱 dataType:varchar
		@ApiModelProperty(name="邮箱")
		@ExcelProperty("邮箱")
		@Column(name="email")
		protected String  email;

		// 部门状态（0正常 1停用） dataType:char
		@ApiModelProperty(name="部门状态（0正常 1停用）")
		@ExcelProperty("部门状态（0正常 1停用）")
		@Column(name="status")
		protected String  status;

		// 删除标志（0代表存在 2代表删除） dataType:char
		@ApiModelProperty(name="删除标志（0代表存在 2代表删除）")
		@ExcelProperty("删除标志（0代表存在 2代表删除）")
		@Column(name="del_flag")
		protected String  delFlag;

		// 创建者 dataType:varchar
		@ApiModelProperty(name="创建者")
		@ExcelProperty("创建者")
		@Column(name="create_by")
		protected String  createBy;

		// 创建时间 dataType:datetime
		@ApiModelProperty(name="创建时间")
		@ExcelProperty("创建时间")
		@Column(name="create_time")
		protected Date  createTime;

		// 更新者 dataType:varchar
		@ApiModelProperty(name="更新者")
		@ExcelProperty("更新者")
		@Column(name="update_by")
		protected String  updateBy;

		// 更新时间 dataType:datetime
		@ApiModelProperty(name="更新时间")
		@ExcelProperty("更新时间")
		@Column(name="update_time")
		protected Date  updateTime;



}